What is @material-ui/core?
The @material-ui/core package is a React component library that implements Google's Material Design. It provides a robust, customizable, and accessible collection of components that can be used to build a wide range of user interfaces, from simple buttons and text fields to complex navigation and layout patterns.
What are @material-ui/core's main functionalities?
Buttons
This feature allows developers to use Material Design styled buttons in their applications, with various customization options such as colors, variants, and sizes.
import React from 'react';
import Button from '@material-ui/core/Button';
function App() {
return <Button variant='contained' color='primary'>Hello World</Button>;
}
Text Fields
Text Fields are used for inputting text data. The @material-ui/core library provides a Material Design styled TextField component with various styles and customization options.
import React from 'react';
import TextField from '@material-ui/core/TextField';
function App() {
return <TextField label='Outlined' variant='outlined' />;
}
Grid Layout
The Grid component allows for the implementation of responsive layouts. It uses a 12-column grid system and supports various configuration options for alignment, spacing, and more.
import React from 'react';
import Grid from '@material-ui/core/Grid';
function App() {
return (
<Grid container spacing={3}>
<Grid item xs={12}>
<div>Full-width</div>
</Grid>
<Grid item xs={6}>
<div>Half-width</div>
</Grid>
</Grid>
);
}
Other packages similar to @material-ui/core
antd
Ant Design (antd) is a design system and React UI library that offers a high-quality set of components. It is similar to @material-ui/core in providing a comprehensive suite of UI components but follows the Ant Design specifications. Ant Design tends to have a more enterprise look and feel compared to Material-UI's more general Material Design approach.
react-bootstrap
React-Bootstrap is a React component library that rebuilds the Bootstrap components with React. It offers similar functionalities to @material-ui/core in terms of providing a set of ready-to-use components designed according to the Bootstrap framework. While @material-ui/core is based on Material Design, React-Bootstrap is based on Bootstrap, offering a different design philosophy and aesthetic.
chakra-ui
Chakra UI is a simple, modular, and accessible component library that gives you the building blocks to build your React applications. It is similar to @material-ui/core in providing a wide range of components but focuses more on simplicity and accessibility. Chakra UI also offers a more modern and minimalistic design compared to the Material Design of @material-ui/core.
Material-UI
Installation
Material-UI is available as an npm package.
Stable channel v1
// with npm
npm install @material-ui/core
// with yarn
yarn add @material-ui/core
v0.x (Migration to v1)
// with npm
npm install material-ui
// with yarn
yarn add material-ui
Please note that @next
will only point to pre-releases; to get the latest stable release use @latest
instead.
Supporting Material-UI
Material-UI is an MIT-licensed open source project. It's an independent project with ongoing development made possible thanks to the support of these awesome backers. If you'd like to join them, please consider:
What's the difference between Patreon and OpenCollective?
Funds donated via Patreon directly support Olivier Tassinari's work on Material-UI.
Funds donated via OpenCollective are managed transparently and will be used for compensating work and expenses for core team members.
Your name/logo will receive proper recognition and exposure by donating on either platform.
Gold Sponsors are those who have pledged $500/month and more to Material-UI.
via Patreon
via OpenCollective
There is more!
See the full list of our backers.
Usage
Here is a quick example to get you started, it's all you need:
import React from 'react';
import ReactDOM from 'react-dom';
import Button from '@material-ui/core/Button';
function App() {
return (
<Button variant="raised" color="primary">
Hello World
</Button>
);
}
ReactDOM.render(<App />, document.querySelector('#app'));
Yes, it's really all you need to get started as you can see in this live and interactive demo:
Questions
For how-to questions and other non-issues,
please use StackOverflow instead of Github issues.
There is a StackOverflow tag called "material-ui" that you can use to tag your questions.
Examples
Are you looking for an example project to get started?
We host some.
Documentation
Check out our documentation website.
Contributing
We'd greatly appreciate any contribution you make. :)
Changelog
Recently Updated?
Please read the changelog.
Roadmap
The future plans and high priority features and enhancements can be found in the ROADMAP.md file.
Thanks
Thank you to BrowserStack for providing the infrastructure that allows us to test in real browsers.
License
This project is licensed under the terms of the
MIT license.